﻿using System;
namespace Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister {
    
    
    public partial class PolSoiduk : global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IPolSoiduk {
        
        private decimal @__id;
        
        private decimal @__eelnevId;
        
        private decimal @__jargnevId;
        
        private string @__regMrk;
        
        private string @__vinkood;
        
        private string @__mark;
        
        private string @__mudel;
        
        private decimal @__aasta;
        
        private string @__varvus;
        
        private string @__regtun;
        
        private string @__tyypkd;
        
        private System.DateTime @__eestis;
        
        private System.DateTime @__registris;
        
        private string @__kateg;
        
        private string @__kerenm;
        
        private decimal @__pikkus;
        
        private decimal @__laius;
        
        private decimal @__korgus;
        
        private decimal @__telgarv;
        
        private decimal @__telgjuht;
        
        private decimal @__telgveo;
        
        private string @__mootmudel;
        
        private decimal @__mootmht;
        
        private decimal @__mootvms;
        
        private string @__kaigkastyp;
        
        private string @__olek;
        
        private PolSoiduk.IIsikudType @__isikud;
        
        public PolSoiduk() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public PolSoiduk(
                    decimal @id, 
                    decimal @eelnevId, 
                    decimal @jargnevId, 
                    string @regMrk, 
                    string @vinkood, 
                    string @mark, 
                    string @mudel, 
                    decimal @aasta, 
                    string @varvus, 
                    string @regtun, 
                    string @tyypkd, 
                    System.DateTime @eestis, 
                    System.DateTime @registris, 
                    string @kateg, 
                    string @kerenm, 
                    decimal @pikkus, 
                    decimal @laius, 
                    decimal @korgus, 
                    decimal @telgarv, 
                    decimal @telgjuht, 
                    decimal @telgveo, 
                    string @mootmudel, 
                    decimal @mootmht, 
                    decimal @mootvms, 
                    string @kaigkastyp, 
                    string @olek, 
                    PolSoiduk.IIsikudType @isikud) {
            this.@__id = @id;
            this.@__eelnevId = @eelnevId;
            this.@__jargnevId = @jargnevId;
            this.@__regMrk = @regMrk;
            this.@__vinkood = @vinkood;
            this.@__mark = @mark;
            this.@__mudel = @mudel;
            this.@__aasta = @aasta;
            this.@__varvus = @varvus;
            this.@__regtun = @regtun;
            this.@__tyypkd = @tyypkd;
            this.@__eestis = @eestis;
            this.@__registris = @registris;
            this.@__kateg = @kateg;
            this.@__kerenm = @kerenm;
            this.@__pikkus = @pikkus;
            this.@__laius = @laius;
            this.@__korgus = @korgus;
            this.@__telgarv = @telgarv;
            this.@__telgjuht = @telgjuht;
            this.@__telgveo = @telgveo;
            this.@__mootmudel = @mootmudel;
            this.@__mootmht = @mootmht;
            this.@__mootvms = @mootvms;
            this.@__kaigkastyp = @kaigkastyp;
            this.@__olek = @olek;
            this.@__isikud = @isikud;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected PolSoiduk(IPolSoiduk @polSoiduk) {
            this.@__id = @polSoiduk.Id;
            this.@__eelnevId = @polSoiduk.EelnevId;
            this.@__jargnevId = @polSoiduk.JargnevId;
            this.@__regMrk = @polSoiduk.RegMrk;
            this.@__vinkood = @polSoiduk.Vinkood;
            this.@__mark = @polSoiduk.Mark;
            this.@__mudel = @polSoiduk.Mudel;
            this.@__aasta = @polSoiduk.Aasta;
            this.@__varvus = @polSoiduk.Varvus;
            this.@__regtun = @polSoiduk.Regtun;
            this.@__tyypkd = @polSoiduk.Tyypkd;
            this.@__eestis = @polSoiduk.Eestis;
            this.@__registris = @polSoiduk.Registris;
            this.@__kateg = @polSoiduk.Kateg;
            this.@__kerenm = @polSoiduk.Kerenm;
            this.@__pikkus = @polSoiduk.Pikkus;
            this.@__laius = @polSoiduk.Laius;
            this.@__korgus = @polSoiduk.Korgus;
            this.@__telgarv = @polSoiduk.Telgarv;
            this.@__telgjuht = @polSoiduk.Telgjuht;
            this.@__telgveo = @polSoiduk.Telgveo;
            this.@__mootmudel = @polSoiduk.Mootmudel;
            this.@__mootmht = @polSoiduk.Mootmht;
            this.@__mootvms = @polSoiduk.Mootvms;
            this.@__kaigkastyp = @polSoiduk.Kaigkastyp;
            this.@__olek = @polSoiduk.Olek;
            this.@__isikud = @polSoiduk.Isikud;
        }
        
        public virtual decimal Id {
            get {
                return this.@__id;
            }
            set {
                this.@__id = value;
            }
        }
        
        public virtual decimal EelnevId {
            get {
                return this.@__eelnevId;
            }
            set {
                this.@__eelnevId = value;
            }
        }
        
        public virtual decimal JargnevId {
            get {
                return this.@__jargnevId;
            }
            set {
                this.@__jargnevId = value;
            }
        }
        
        public virtual string RegMrk {
            get {
                return this.@__regMrk;
            }
            set {
                this.@__regMrk = value;
            }
        }
        
        public virtual string Vinkood {
            get {
                return this.@__vinkood;
            }
            set {
                this.@__vinkood = value;
            }
        }
        
        public virtual string Mark {
            get {
                return this.@__mark;
            }
            set {
                this.@__mark = value;
            }
        }
        
        public virtual string Mudel {
            get {
                return this.@__mudel;
            }
            set {
                this.@__mudel = value;
            }
        }
        
        public virtual decimal Aasta {
            get {
                return this.@__aasta;
            }
            set {
                this.@__aasta = value;
            }
        }
        
        public virtual string Varvus {
            get {
                return this.@__varvus;
            }
            set {
                this.@__varvus = value;
            }
        }
        
        public virtual string Regtun {
            get {
                return this.@__regtun;
            }
            set {
                this.@__regtun = value;
            }
        }
        
        public virtual string Tyypkd {
            get {
                return this.@__tyypkd;
            }
            set {
                this.@__tyypkd = value;
            }
        }
        
        public virtual System.DateTime Eestis {
            get {
                return this.@__eestis;
            }
            set {
                this.@__eestis = value;
            }
        }
        
        public virtual System.DateTime Registris {
            get {
                return this.@__registris;
            }
            set {
                this.@__registris = value;
            }
        }
        
        public virtual string Kateg {
            get {
                return this.@__kateg;
            }
            set {
                this.@__kateg = value;
            }
        }
        
        public virtual string Kerenm {
            get {
                return this.@__kerenm;
            }
            set {
                this.@__kerenm = value;
            }
        }
        
        public virtual decimal Pikkus {
            get {
                return this.@__pikkus;
            }
            set {
                this.@__pikkus = value;
            }
        }
        
        public virtual decimal Laius {
            get {
                return this.@__laius;
            }
            set {
                this.@__laius = value;
            }
        }
        
        public virtual decimal Korgus {
            get {
                return this.@__korgus;
            }
            set {
                this.@__korgus = value;
            }
        }
        
        public virtual decimal Telgarv {
            get {
                return this.@__telgarv;
            }
            set {
                this.@__telgarv = value;
            }
        }
        
        public virtual decimal Telgjuht {
            get {
                return this.@__telgjuht;
            }
            set {
                this.@__telgjuht = value;
            }
        }
        
        public virtual decimal Telgveo {
            get {
                return this.@__telgveo;
            }
            set {
                this.@__telgveo = value;
            }
        }
        
        public virtual string Mootmudel {
            get {
                return this.@__mootmudel;
            }
            set {
                this.@__mootmudel = value;
            }
        }
        
        public virtual decimal Mootmht {
            get {
                return this.@__mootmht;
            }
            set {
                this.@__mootmht = value;
            }
        }
        
        public virtual decimal Mootvms {
            get {
                return this.@__mootvms;
            }
            set {
                this.@__mootvms = value;
            }
        }
        
        public virtual string Kaigkastyp {
            get {
                return this.@__kaigkastyp;
            }
            set {
                this.@__kaigkastyp = value;
            }
        }
        
        public virtual string Olek {
            get {
                return this.@__olek;
            }
            set {
                this.@__olek = value;
            }
        }
        
        public virtual PolSoiduk.IIsikudType Isikud {
            get {
                return this.@__isikud;
            }
            set {
                this.@__isikud = value;
            }
        }
        
        public partial class IsikudType : IIsikudType {
            
            private System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IPolSoidukIsik> @__isikud = new System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IPolSoidukIsik>();
            
            public IsikudType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikudType(System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IPolSoidukIsik> @isikud) {
                this.@__isikud = @isikud;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikudType(IIsikudType @isikudType) {
                this.@__isikud = @isikudType.Isikud;
            }
            
            public virtual System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IPolSoidukIsik> Isikud {
                get {
                    return this.@__isikud;
                }
                set {
                    this.@__isikud = value;
                }
            }
        }
        
        public interface IIsikudType {
            
            System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IPolSoidukIsik> Isikud {
                get;
                set;
            }
        }
    }
}
